﻿using System;
using System.Collections.Generic;
using System.Linq;
using Septagon.TwochConnecter.Data.Responses;
using System.Text;
using Septagon.TwochConnecter.Data.Boards;

namespace Septagon.TwochConnecter.Data.Threads
{
	/// <summary>
	/// スレッドを表すクラスです。このクラスは継承できません。
	/// </summary>
	public sealed class Thread
	{
		/// <summary>
		/// このインスタンスに関連付けられているスレッドのレスポンスを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public ResCollection ThreadResponses { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドタイトルを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public string ThreadName { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドの生データを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public string ThreadRawData { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドが有効かどうかを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public bool IsActive { get; set; } = true;
		/// <summary>
		/// このインスタンスに関連付けられているスレッドのUrlを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public string ThreadUrl { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドキーを取得または設定します。
		/// </summary>
		/// <returns></returns>
		public string ThreadKey { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドの総レス数を取得または設定します。
		/// </summary>
		/// <returns></returns>
		public string ResCount { get; set; }
		/// <summary>
		/// このインスタンスに関連付けられているスレッドの親を取得または設定します。
		/// </summary>
		/// <returns></returns>
		public Board OwnerBoard { get; set; }

	}
}

